﻿using AbpApplication.InPut;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Application.Services;

namespace AbpApplication.AppServices
{
    public interface IBaseService:IApplicationService
    {
        Task<ApiResponse> Create_Boxs(InPut_BaseService input);
        Task<ApiResponse> Update_Box(InPut_BaseService2 input);
        Task<ApiResponse> Create_Warehouses(InPut_BaseService3 input);
        Task<ApiResponse> DeleteMaterial(InPut_BaseService4 input);
        Task<ApiResponse> Update_WarehouseLines(InPut_BaseService5 inPut);
        Task<ApiResponse> CreateTaskOrder(InPut_BaseService6 InPut);
        Task<ApiResponse> CreateMaterialBase(InPut_BaseService7 inPut);
        Task<ApiResponse> UpdateMaterialBaserQuantity(InPut_BaseService7 inPut);
        Task<ApiResponse> DeleteBox(InPut_BaseService8 InPut);
        Task<ApiResponse> Create_Inlethouses(InPut_BaseService9 input);
        Task<ApiResponse> Create_Inlethouse(InPut_BaseService9 input);
        Task<ApiResponse> CreateNeetOutMaterial(InPut_BaseService10 InPut);
        Task<ApiResponse> GetList_InlethouesCode( string Type);
        Task<ApiResponse> UpdateTaskOrderState(InPut_BaseService11 InPut);
        Task<ApiResponse> CreateTaskOrderOut(InPut_BaseService13 InPut);
        Task<ApiResponse> DeleteTaskOrder(List<string> TaskOrderCodes);
        Task<ApiResponse> RemovesMaterial(List<string> MaterialCodes);
        Task<ApiResponse> CreateLog(InPut_BaseService15 InPut);
        Task<ApiResponse> CreateMaterialProperty(InPut_BaseService14 InPut); 
        Task<ApiResponse> Create_Bintype(InPut_BaseService16 InPut);
        Task<ApiResponse> Getlist_Bintypes();
        Task<ApiResponse> test();
        Task<ApiResponse> UpdateState_ByWarehouselineId(InPut_BaseService17 InPut);
        Task<ApiResponse> UpdateState_ByInlethouselineId(InPut_BaseService18 InPut);
        Task<ApiResponse> UpdateNeetQuantity(InPut_BaseService19 InPut);
        Task<ApiResponse> AllocationOrder(InPut_BaseService20 InPut);
        Task<ApiResponse> AllocationOrderAgvTask(InPut_BaseService21 InPut);
        Task<ApiResponse> Deallocate(string Symbol);
        Task<ApiResponse> Create_SowingWall(InPut_BaseService22 InPut);
        Task<ApiResponse> Update_SowingWall(string SowingWallLine_Name);
        Task<ApiResponse> Polling_OutBound();
        Task<ApiResponse> Polling_TaskOrder();
        Task<ApiResponse> Polling_TaskAgv_OutBound();
        Task<ApiResponse> moveContainer_wms(InPut_EssService5 InPut);
        Task<ApiResponse> DeleteMoveContainer(string boxCode);
        Task<ApiResponse> SendCustomerOutRep(string Consumer_MaterialId);
        Task<ApiResponse> Manual_FinishOrder(Guid PutOutOrder_id);
        Task<ApiResponse> UpdatManualQuantity(InPut_BaseService24 InPut);
        Task<ApiResponse> UpdateMaterialQuantity(InPut_BaseService25 InPut);
        Task<ApiResponse> Start_StockTaking(InPut_BaseService26 InPut);
        Task<ApiResponse> CheckBoxMaterial(string BoxPosition);
        Task<ApiResponse> CheckView_Box_Warehoueline([FromForm] IFormFile excelStream);
        Task<ApiResponse> GetOrderNo(string BoxCode);
        Task<ApiResponse> LocationCheck();
        Task<ApiResponse> SingleOutbount(Guid guid);
        Task<ApiResponse> UpdateBoxMaterial(InPut_BaseService7 inPut);
        Task<ApiResponse> DeleteCustomCheckList(List<Guid> guid);
        Task<ApiResponse> GetConveyorline();
        Task<ApiResponse> IsReplenishment();

        Task<ApiResponse> Polling_UpdateQuantity();
        Task<ApiResponse> Polling_ClearConveyorline();
        Task<ApiResponse> Polling_expireTaskOrder();
        Task<ApiResponse> Polling_ClearEmpty();
    }


}
